package com.happy.cat.project.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.happy.cat.common.utils.BeanTools;
import com.happy.cat.framework.aspectj.lang.annotation.Excel;
import com.happy.cat.project.system.domain.vo.UserManitoVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;


/**
 * 大神申请审核对象 user_manito_apply
 * 
 * @author verne
 * @date 2020-08-13
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
@TableName(autoResultMap = true )
@ApiModel(value="大神申请审核对象", description="大神申请审核对象数据")
public class UserManitoApply implements Serializable {

private static final long serialVersionUID=1L;


    /** id */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    @ApiModelProperty(value = "用户ID")
    private Long accountId;

    /** $column.columnComment */
    @Excel(name = "用户ID")
    @ApiModelProperty(value = "用户ID")
    private Long godId;

    /** 大神等级 */
    @Excel(name = "大神等级")
    @ApiModelProperty(value = "大神等级")
    private String godLevel;

    /** 申请时间 */
    @ApiModelProperty(value = "申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 申请时间 */
    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applyTime;

    /** 申请品类ID */
    @Excel(name = "申请品类ID")
    @ApiModelProperty(value = "申请品类ID")
    private Long teamCategoryItemId;

    /** 平台大区id */
    @Excel(name = "平台大区id")
    @ApiModelProperty(value = "平台大区id")
    private Long regionId;

    /** 最高实力id */
    @Excel(name = "最高实力id")
    @ApiModelProperty(value = "最高实力id")
    private Long highestStrengthId;

    /** 熟练位置 */
    @Excel(name = "熟练位置")
    @ApiModelProperty(value = "熟练位置")
    private String skilledPosition;

    /** 擅长英雄 */
    @Excel(name = "擅长英雄")
    @ApiModelProperty(value = "擅长英雄")
    private String skilledRole;

    /** 最高实力截图 */
    @Excel(name = "最高实力截图")
    @ApiModelProperty(value = "最高实力截图")
    private String highestStrengthScreenshot;

    /** 形象照片 */
    @Excel(name = "形象照片")
    @ApiModelProperty(value = "形象照片")
    private String image;

    /** 实力展示 */
    @Excel(name = "实力展示")
    @ApiModelProperty(value = "实力展示")
    private String strengthDisplay;

    /** 视频展示 */
    @Excel(name = "视频展示")
    @ApiModelProperty(value = "视频展示")
    private String vedioDisplay;

    /** 语音介绍 */
    @Excel(name = "语音介绍")
    @ApiModelProperty(value = "语音介绍")
    private String phoneticsIntroduction;

    /** 个人介绍 */
    @Excel(name = "个人介绍")
    @ApiModelProperty(value = "个人介绍")
    private String personIntroduction;

    /** 审核状态 是否通过：0：是，1：否 */
    @Excel(name = "审核状态 是否通过：0：是，1：否")
    @ApiModelProperty(value = "审核状态 是否通过：0：是，1：否")
    private Long status;

    @ApiModelProperty(value = "审核状态 是否通过：0：是，1：否")
    private String applyBy;

    /** 在用状态，是否在用，0：是，1：否 */
    @Excel(name = "在用状态，是否在用，0：是，1：否")
    @ApiModelProperty(value = "在用状态，是否在用，0：是，1：否")
    private Long state;

    /** 每局价格 */
    @Excel(name = "每局价格")
    @ApiModelProperty(value = "每局价格")
    private Double price;

    /** 陪玩标签 */
    @Excel(name = "陪玩标签")
    @ApiModelProperty(value = "陪玩标签")
    private String gatecorys;

    public UserManitoVo convertToVo(){
        return BeanTools.convert(this, new UserManitoVo());
    }
}
